<html>
  <head>
    <title>捆绑包  Bundles</title>
  </head>
  <body>
    <script>
      /*
            3、捆绑  Bundles

                                               捆绑系统提供了一种将"样式"和"脚本"文件导入页面的标准方法。

                                               ABP 定义了两个标准包：

                                                        ①、StandardBundles.Styles.Global：包含所有页面中使用的样式文件的全局包。

                                                                                          通常，它包括基本库的CSS文件。

                                                        ②、StandardBundles.Scripts.Global：包含所有页面中使用的脚本文件的全局包。
                                                                        
                                                                                           通常，它包括基本库的JavaScript文件。

                                                主题通常通过添加特定于主题的CSS、JavaScrpit 文件来扩展这些标准包、

                                                定义新的捆绑包、从标准捆绑包继承并添加到AbpBundlingOptions 的最佳方法如下所示(此代码来自 Basic 主题)：

                                                        Configure<AbpBundlingOptions>(options =>
                                                        {
                                                                options
                                                                        .StyleBundles
                                                                        .Add(BasicThemeBundles.Styles.Global, bundle =>
                                                                        {
                                                                            bundle
                                                                                    .AddBaseBundles(StandardBundles.Styles.Global)
                                                                                    .AddContributors(typeof(BasicThemeGlobalStyleContributor));
                                                                        });

                                                                options
                                                                        .ScriptBundles
                                                                        .Add(BasicThemeBundles.Scripts.Global, bundle =>
                                                                        {
                                                                            bundle
                                                                                    .AddBaseBundles(StandardBundles.Scripts.Global)
                                                                                    .AddContributors(typeof(BasicThemeGlobalScriptContributor));
                                                                        });
                                                        });

                                            
                                                BasicThemeGlobalStyleContributor和BasicThemeGlobalScriptContributor是包贡献者。
                                                
                                                例如，BasicThemeGlobalStyleContributor定义如下：

                                                        // 捆绑包贡献者
                                                        public class BasicThemeGlobalStyleContributor : BundleContributor
                                                        {
                                                                public override void ConfigureBundle(BundleConfigurationContext context)
                                                                {
                                                                        context.Files.Add("/themes/basic/layout.css");
                                                                }
                                                        }


                                                然后主题可以在布局中呈现这些包。例如，您可以呈现全局样式，如下所示：

                                                        <abp-style-bundle name="@BasicThemeBundles.Styles.Global" />

      */
    </script>
  </body>
</html>